/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Negocios;

import Gestores.DtoObjects.CuotaDTO;
import Gestores.Entidades.EntidadAfiliado;
import Gestores.Entidades.EntidadCuota;
import Gestores.Factory.FactoryClass;
import java.util.ArrayList;
import javax.swing.table.DefaultTableModel;


/**
 *
 * @author Lion
 */
public class CuotaNegocio {
    private CuotaDTO dto;
    private EntidadCuota entidad;
    
    public CuotaNegocio(){
        this.dto= FactoryClass.getCuotaInstance();
        this.entidad= new EntidadCuota();
    }
    
    public void insertarCuota(int m, int y) throws Exception{
        this.entidad.make(m, y);
        dto.insertar(entidad);
    }
    public ArrayList<Object> buscarCuotaPorMes(int m) throws Exception{
         ArrayList<Object> l;
         if(m>=0 && m<12 ){
             l= dto.buscarPorMes(m);     
         }else{
              l=null;
         }
         return l;  
    }
    
    public ArrayList<Object> buscarCuotaPorAnho(int a) throws Exception{
        return dto.buscarPorAnho(a);
    }
     public ArrayList<Object> buscarCuotaPorMesAnho(int m,int a) throws Exception{
       ArrayList<Object> l;
         if(m>=0 && m<12 ){
             l= dto.buscarPorMesAnho(m, a);
     
         }else{
              l=null;
         }
         return l;  
    }
    public DefaultTableModel tabularDatos(ArrayList<Object> listaDatos) {
        String[] campos = new String[]{entidad.getColumNameMes(), entidad.getColumNameAnho()};
        DefaultTableModel model = new DefaultTableModel(campos, 0);

        for (int i = 0; i < listaDatos.size(); i++) {
            EntidadCuota eCuota = (EntidadCuota) listaDatos.get(i);
            Object[] camposCuota = new Object[]{obtenerMesNombre(eCuota.getMes()),eCuota.getAnho()
               };
            model.addRow(camposCuota);
        }

        return model;
    }
    public int obtenerMesCodigo(String m){
        
           if(m== "Enero") return 0;
           if(m== "Febrero") return 1;
           if(m=="Marzo") return 2;
           if(m== "Abril") return 3;
           if(m==  "Mayo")return 4;
           if(m==  "Junio")return 5;
           if(m==  "Julio")return 6;
           if(m== "Agosto")return 7;
           if(m== "Septiembre")return 8;
           if(m==  "Octubre")return 9;
           if(m=="Nobiembre")return 10;
           if(m== "Diciembre")return 11;
            
           return -1;
        
    }
    private String obtenerMesNombre(int m){
        switch(m){
            case 0: return "Enero";
            case 1: return "Febrero";
            case 2: return "Marzo";
            case 3: return "Abril";
            case 4: return "Mayo";
            case 5: return "Junio";
            case 6: return "Julio";
            case 7: return "Agosto";
            case 8: return "Septiembre";
            case 9: return "Octubre";
            case 10: return "Nobiembre";
            case 11:  return "Diciembre";
            default:  return " ";
        
        }
        
       
    
    }
    
    
}
